package org.dr.springmvcdemo.getparam.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.UUID;

/**
 * @ClassName FileController
 * @Description TODO
 * 下载文件
 */
@RestController
@RequestMapping("/file")
public class FileController {
    @RequestMapping("/upload")
    public Object upload(@RequestPart("myfile") MultipartFile file)throws Exception{

        /**
         * UUID.randomUUID()生成随机的UUID（通用唯一标识符），确保文件名的唯一性
         * file.getOriginalFilename()获取上传文件的原始文件名
         * substring(file.getOriginalFilename().lastIndexOf("."))获取文件名的后缀
         * 将UUID和文件扩展名拼接在一起，形成新的文件名。
         */
        String fileName = UUID.randomUUID()+file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
        //保存文件；注意文件路径后边必须的添加\\否则文件不在指定位置
        File savefile = new File("E:\\testfile\\"+fileName);
        try{
            file.transferTo(savefile);
            //transferTo方法将临时存储的文件移动到指定的文件路径
            return true;
        }catch (Exception e){
            e.printStackTrace();
        }
        return false;
    }

}
